package cn.demoncat.util.web.config;

import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;
import cn.demoncat.util.web.IpUtil;

/**
 * 在logback-spring.xml中读取本机IP
 *
 * <pre>
 * 1、自定义格式转换器
 * 		<conversionRule conversionWord="ip" converterClass="cn.demoncat.util.web.config.LogIpConfig" />
 * 		"host": "%ip"
 * 
 * 2、使用spring-cloud的配置属性
 * 		<springProperty scope="context" name="APP_HOST" source="spring.cloud.client.ip-address"/>
 * 		"host": "${APP_HOST}"
 *
 * 3、使用 System.setProperty() 的属性（须在App.main中设置，因为logger在main中调用，后设置的属性无法读取）
 * 		System.setProperty("APP_HOST", ip)
 * 		"host": "${APP_HOST}"
 * </pre>
 * @author 延晓磊
 *
 * @since 2020-9-11
 */
public class LogIpConfig extends ClassicConverter {

	@Override
	public String convert(ILoggingEvent event) {
		return IpUtil.LOCAL_IP;
	}
}
